Conventional spelling correction systems (e.g., spell-checkers) for electronic documents, such as those found in common word processing applications, operate on a word-by-word basis and check whether each word in a document is found in a dictionary. The dictionary may comprise, for example, a predetermined list of valid strings of characters that is stored and/or accessed by the spell-checker. When a word is found to have a match in the dictionary, the word is treated as correctly spelled. However, when a word is not found in the dictionary, the word is indicated as incorrectly spelled. Incorrectly spelled words may be identified for the user by, for example, underlining and/or highlighting.
Many conventional spell-checking programs not only detect misspelled words, but also offer a selection of alternative words as suggested replacements for the misspelled word. These alternative word choices may be presented in a ranked order according to their likelihood of being the word that the user was trying to type. The alternative words that populate the list of suggested replacements are selected from a static set of replacement word choices (e.g., the dictionary) with, perhaps, a few valid alternative suffix rules applied.
For example, if a user intended to type the word “recede” but instead typed “resead”, a typical spell-checker may detect the misspelled word and present the following alternative words as suggested replacements in the following ranked order;
reseed
reseat
resend
reread
reseal.
These are simply correctly spelled words from a static list of valid words (e.g., a dictionary) that closely match the character sequence of the misspelled word. Such a list of alternative words is often useful when the spelling mistake is the result of a “finger slip” (e.g., an omission of a character of a word, an addition of an extra character in a word, a substitution of a character for a character of a word, or the transposition in order of characters within a word).
If the mistake is an actual spelling mistake, however, instead of a finger slip, the user must manually enter the correct word (in this case “recede”) after, for example, looking it up in a dictionary or asking someone how to spell it. Thus, when using conventional spell checkers, users may be inconvenienced when misspelled words are the result of something other than a mere finger slip.
Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.